Computing clusters may provide various advantages over non-clustered computing systems. For example, computing clusters may provide applications with high availability, enable load balancing for large computational workloads, and/or provide more computational power with less powerful constituent nodes. As enterprises increasingly rely on applications that run within computing clusters to create, manage, and store large amounts of data, cluster-based data replication and recovery has become increasingly important.
Conventional cluster-based replication solutions may perform all replication tasks for a data resource within a computing cluster on a single node within the computing cluster. In one typical configuration, all tasks associated with replicating a data resource may be performed by the same node on which an application that writes to the data resource is running. In another typical configuration, all tasks associated with replicating a data resource may be performed by the node from which most writes to the data resource originate. Unfortunately, such configurations may increase input/output and processing loads on nodes with already high input/output and processing loads, which may negatively impact the performance of cluster-based applications. Accordingly, the instant disclosure identifies and addresses a need for additional and improved systems and methods for distributing replication tasks within computing clusters.